package gestion_des_note;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class Ajoute_filiere extends JDialog{
  private JPanel jPanel1 = new JPanel();
  private JTextField jtxtGroup = new JTextField();
  private JLabel jLabel3 = new JLabel();
  private JButton jbtnRetour = new JButton();
  private JLabel jLabel2 = new JLabel();
  private JButton jbtnEnregistrer = new JButton();
  private JLabel jLabel1 = new JLabel();
  private JTextField jtxtFilier = new JTextField();
  private JTextField jtxtNbr = new JTextField();
  Classe cls=new Classe();
  public Ajoute_filiere() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    jPanel1.setFont(new java.awt.Font("Dialog", 1, 13));
    jPanel1.setBackground(Color.white);
    jPanel1.setLayout(null);
    jtxtGroup.setBackground(Color.lightGray);
    jtxtGroup.setFont(new java.awt.Font("Dialog", 1, 13));
    jtxtGroup.setBorder(BorderFactory.createLineBorder(Color.black));
    jtxtGroup.setBounds(new Rectangle(210, 64, 131, 20));
    jtxtNbr.setBackground(Color.lightGray);
    jtxtNbr.setFont(new java.awt.Font("Dialog", 1, 13));
    jtxtNbr.setBorder(BorderFactory.createLineBorder(Color.black));
    jtxtNbr.setBounds(new Rectangle(212, 102, 232, 19));
    jLabel3.setFont(new java.awt.Font("Dialog", 1, 13));
    jLabel3.setForeground(Color.red);
    jLabel3.setText("Nombre des eleves :");
    jLabel3.setBounds(new Rectangle(42, 98, 140, 18));
    jbtnRetour.setBounds(new Rectangle(213, 169, 118, 35));
    jbtnRetour.setFont(new java.awt.Font("Dialog", 1, 13));
    jbtnRetour.setHorizontalTextPosition(SwingConstants.LEFT);
    jbtnRetour.setIcon(new ImageIcon(new java.net.URL("file:///G:/Documents and Settings/Administrateur/Bureau/Projet Gestion des Note Graphique V3A/Projet Gestion des Note2/retour.gif")));
    jbtnRetour.setText("Retour");
    jbtnRetour.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseEntered(MouseEvent e) {
        jbtnRetour_mouseEntered(e);
      }
      public void mouseExited(MouseEvent e) {
        jbtnRetour_mouseExited(e);
      }
    });
    jbtnRetour.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jbtnRetour_actionPerformed(e);
      }
    });
    jLabel2.setBackground(SystemColor.inactiveCaptionBorder);
    jLabel2.setFont(new java.awt.Font("Dialog", 1, 13));
    jLabel2.setForeground(Color.red);
    jLabel2.setText("Nombre de Niveau  :");
    jLabel2.setBounds(new Rectangle(45, 67, 139, 15));
    jbtnEnregistrer.setBounds(new Rectangle(53, 170, 139, 34));
    jbtnEnregistrer.setFont(new java.awt.Font("Dialog", 1, 13));
    jbtnEnregistrer.setHorizontalTextPosition(SwingConstants.LEFT);
    jbtnEnregistrer.setIcon(new ImageIcon(new java.net.URL("file:///G:/Documents and Settings/Administrateur/Bureau/Projet Gestion des Note Graphique V3A/Projet Gestion des Note2/enregistrer.gif")));
    jbtnEnregistrer.setText("Enregistrer");
    jbtnEnregistrer.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseEntered(MouseEvent e) {
        jbtnEnregistrer_mouseEntered(e);
      }
      public void mouseExited(MouseEvent e) {
        jbtnEnregistrer_mouseExited(e);
      }
    });
    jbtnEnregistrer.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jbtnEnregistrer_actionPerformed(e);
      }
    });
    jLabel1.setFont(new java.awt.Font("Dialog", 1, 13));
    jLabel1.setForeground(Color.red);
    jLabel1.setText("Nom filiere  :");
    jLabel1.setBounds(new Rectangle(45, 34, 140, 17));
    jtxtFilier.setBounds(new Rectangle(208, 29, 131, 20));
    jtxtFilier.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jtxtFilier_actionPerformed(e);
      }
    });
    jtxtFilier.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusLost(FocusEvent e) {
        jtxtFilier_focusLost(e);
      }
    });
    jtxtFilier.setBorder(BorderFactory.createLineBorder(Color.black));
    jtxtFilier.setFont(new java.awt.Font("Dialog", 1, 13));
    jtxtFilier.setBackground(Color.lightGray);
    this.setResizable(false);
    this.setTitle("                           Ajouter Filiere    :");
    this.addWindowListener(new java.awt.event.WindowAdapter() {
      public void windowOpened(WindowEvent e) {
        this_windowOpened(e);
      }
    });
    jtxtNbr.setBackground(Color.lightGray);
    jtxtNbr.setFont(new java.awt.Font("Dialog", 1, 13));
    jtxtNbr.setBorder(BorderFactory.createLineBorder(Color.black));
    jtxtNbr.setBounds(new Rectangle(211, 98, 131, 20));
    jtxtNbr.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyPressed(KeyEvent e) {
        jtxtNbr_keyPressed(e);
      }
    });
    jPanel1.add(jLabel1, null);
    jPanel1.add(jLabel2, null);
    jPanel1.add(jLabel3, null);
    jPanel1.add(jbtnEnregistrer, null);
    jPanel1.add(jtxtNbr, null);
    jPanel1.add(jtxtGroup, null);
    jPanel1.add(jtxtFilier, null);
    jPanel1.add(jbtnRetour, null);
    jPanel1.add(jtxtNbr, null);
    this.getContentPane().add(jPanel1, BorderLayout.CENTER);
  }
  void jbtnRetour_actionPerformed(ActionEvent e) {
    Retour();
  }

  void jbtnEnregistrer_actionPerformed(ActionEvent e) {
boolean isNumeric= true;
int group=0 ;
int nbr=0;
   //teste si les zone de saisi sont vid ou non
    if((jtxtFilier.getText().trim().equals("")) || (jtxtGroup.getText().trim().equals("")) || (jtxtNbr.getText().trim().equals("")))
      {
    JOptionPane.showMessageDialog(null,"      Saisi incomplete?","Gestion carnet de notes",JOptionPane.WARNING_MESSAGE);
      }
      else
      {//si non on ajout la filiere � la vecteur glossaireFilier
  String filier=jtxtFilier.getText() ;
  try{//teste si la valeur de text est numeric
   group =Integer.valueOf(jtxtGroup.getText()).intValue();
  }
  catch(NumberFormatException ex){
    isNumeric=false;
    JOptionPane.showMessageDialog(null,"Saisi erroné veuillez saisir corectement le nombre de Niveau?","Gestion carnet de notes",JOptionPane.WARNING_MESSAGE);
    jtxtGroup.selectAll() ;// selection� le text qui est dans la zone de saisi
    jtxtGroup.requestFocus();
  }
  try{//teste si la valeur de text est numerique
   nbr= Integer.valueOf(jtxtNbr.getText()).intValue();
  }
  catch(NumberFormatException ex){
    isNumeric=false;
    JOptionPane.showMessageDialog(null,"Saisi erroné veuillez saisir corectement le nombre des eleves?","Gestion carnet de notes",JOptionPane.WARNING_MESSAGE);
    jtxtNbr.selectAll() ;
  if (!jtxtGroup.hasFocus() )
    jtxtNbr.requestFocus();
  }
   if (isNumeric )
  {// si les valeur qui sont dans les deus zone de saisi sont numerique
  cls.AjoutFilier(filier,group,nbr);
  JOptionPane.showMessageDialog(null,"        Enregistrement effectué","Gestion carnet de notes",JOptionPane.INFORMATION_MESSAGE);
      jtxtFilier.setText("");
      jtxtGroup.setText("");
      jtxtNbr.setText("");
      jtxtFilier.requestFocus();
  }
  }
      }

  void jtxtFilier_focusLost(FocusEvent e) {
// pour tester si la filier deja existe ou non ;
jtxtFilier.setText(jtxtFilier.getText().toUpperCase());
boolean existe=false;
String filier=jtxtFilier.getText().trim(); // trim: supprime les espace d'une chaine de charactere
for(int i=0;i<cls.glossaireFilier.size();i++)
{
  if(((Classe) cls.glossaireFilier.elementAt(i)).getFilier().equals(filier))
    // si la filiere saisi existe dans la vecteur glossaireFilier
    existe=true;
  break;
}
if(existe)
{
  jtxtFilier.setText("");
  jtxtFilier.requestFocus();
  JOptionPane.showMessageDialog(null,"        Filiere déja existant","Gestion carnet de notes",JOptionPane.WARNING_MESSAGE);
}
  }

  void jbtnEnregistrer_mouseEntered(MouseEvent e) {
setCursor(new Cursor(12));
  }

  void jbtnRetour_mouseEntered(MouseEvent e) {
setCursor(new Cursor(12));
  }

  void jbtnEnregistrer_mouseExited(MouseEvent e) {
setCursor(new Cursor(0));
  }

  void jbtnRetour_mouseExited(MouseEvent e) {
setCursor(new Cursor(0));
  }
  public void Retour(){
   dispose() ;
  }

  void this_windowOpened(WindowEvent e) {
jtxtFilier.requestFocus();
  }

  void jtxtFilier_actionPerformed(ActionEvent e) {

  }

  void jtxtNbr_keyPressed(KeyEvent e) {

String x=jtxtNbr.getText();

for(int i=0;i<x.length();i++){
  switch(x.charAt(i)){
    case '0':break;
    case '1':break;
    case '2':break;
    case '3':break;
    case '4':break;
    case '5':break;
    case '6':break;
    case '7':break;
    default :x=x.substring(0,x.length()-1); jtxtNbr.setText(x);
  }
   }
  }
}
